findBy*

用途

使用domain类属性动态创建Grails查询方法表达式,返回查询第一条结果。

举例

假定domain类Book如下:

class Book {
   Long id
   Long version
   String title
   Date releaseDate
   String author
}

下面是一些可能用法:

def b = Book.findByTitle
		("The Shining")
b = Book.findByTitleAndAuthor("The Sum of All Fears", "Tom Clancy")
b = Book.findByReleaseDateBetween(firstDate, new Date())
b = Book.findByReleaseDateGreaterThanEquals(firstDate)
b = Book.findByReleaseDateLessThanEquals(firstDate)
b = Book.findByTitleLike("%Hobbit%")
b = Book.findByTitleIlike("%Hobbit%") // (since 0.5) - ignorecase
b = Book.findByTitleNotEqual("Harry Potter")
b = Book.findByReleaseDateIsNull()
b = Book.findByReleaseDateIsNotNull()

描述

GORM支持 Dynamic Finders 概念,findBy*方法按照给定方法表达式查找第一条结果。

如下操作名可以用于组合动态方法:

上面操作名被认为是关键字,如果与domain类属性名字相同的话,运行时会出问题,更多信息可参考用户手册的动态查找器章节。